The Transmission Control Protocol/Internet Protocol (TCP/IP) is a networking protocol which has become ubiquitous with the Internet. TCP/IP provides end-to-end communication between users on the internet. Users may send and receive information with each other regardless of geographic location or the type of host and/or interconnected network being used. TCP/IP defines how data should be encapsulated into packets, addressed, transmitted, routed and received. The packets contain header information that included both the source and destination addresses which are expressed in numerical formats known as IP addresses. The packets are routed through the Internet until they are received by a host having an IP address that matches the packet's destination address. This enables users to send and receive information with each other through their respective host computers.
Since IP addresses are expressed in a numerical format, the Domain Name Service (DNS) was formed to use “human-readable” addresses or “domain names” and allows these names to be resolved to unique IP addresses. DNS consists of a worldwide hierarchy of servers containing network names/addresses databases.
Sometimes an upstream DNS resolver is used to assist in resolving a DNS query. For example, when all user queries are sent to the same upstream DNS resolver, this allows the resolver to create user profiles by collecting data based on the history of user behaviour, which can be a privacy concern.
Sometimes selection of an upstream DNS resolver is made at the end-user device level. This can lead to vulnerabilities and susceptibility in the overall network, can lead to inconsistencies in protocols for the different user devices of the network, and/or can result in unnecessary packet requests that ultimately would be rejected by the destination endpoint.
Additional difficulties with existing systems may be appreciated in view of the Detailed Description of Example Embodiments herein below.